package com.lonely.purchase.domain.vo.materialpurchase;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @author: 黄志标
 * @date: 2025/6/25 15:38
 * @description: 查询物料采购分页查询响应实体
 */
@Data
public class QueryMaterialPurchasePageVO implements Serializable {

    /**
     * 主键id
     */
    private Long id;

    /**
     * 订单编号
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long produceOrderId;

    /**
     * 款式颜色
     */
    private String designColor;

    /**
     * 物料颜色
     */
    private String materialColor;

    /**
     * 物料名称
     */
    private String materialName;

    /**
     * 物料SKU
     */
    private String materialSku;

    /**
     * 物料类型
     */
    private String materialType;

    /**
     * 单价
     */
    private String price;

    /**
     * 采购code
     */
    private String purchaseCode;

    /**
     * 采购类型
     */
    private String purchaseType;

    /**
     * 单位
     */
    private String unit;

    /**
     * 单件用量
     */
    private String simpleUse;

    /**
     * 单件用量，以公斤为单位
     */
    private String singleAmountKg;

    /**
     * 供应商地址
     */
    private String supplierAddr;

    /**
     * 供应商编号
     */
    private String supplierCode;

    /**
     * 供应商色号
     */
    private String supplierColorCode;

    /**
     * 供应商损耗
     */
    private String supplierLoss;

    /**
     * 供应商名称
     */
    private String supplierName;

    /**
     * 供应商电话
     */
    private String supplierPhone;

    /**
     * 克重
     */
    private String weight;

    /**
     * 幅宽
     */
    private String width;

    /**
     * 采购状态
     */
    private Integer purchaseStatus;

    /**
     * 工厂名称
     */
    private String factoryName;

    /**
     * 客户id
     */
    private Long customerId;

    /**
     * 客户名称
     */
    private String customerName;

    /**
     * 商品sku
     */
    private String sku;

    /**
     * 订单图片
     */
    private String orderPic;

    /**
     * 计划单号
     */
    private String planOrderNumber;

    /**
     * 下单数
     */
    private Integer placeOrderNum;

    /**
     * 计划量
     */
    private String plannedQuantity;

    /**
     * 采购价
     */
    private String purchasePrice;

    /**
     * 采购量
     */
    private String purchaseVolume;

    /**
     * 采购人
     */
    private String purchaser;

    /**
     * 最后采购时间
     */
    private String updateTime;

    /**
     * 下单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date placeOrderTime;

    /**
     * 采购人名称
     */
    private String purchaserName;

    /**
     * 回料价
     */
    private String recycledMaterialsPrice;

    /**
     * 回料量
     */
    private String recycledMaterialsVolume;

    /**
     * 扣损数量
     */
    private String deductionQuantity;

    /**
     * 补料数量
     */
    private String replenishQuantity;

    /**
     * 计划采购金额
     */
    private String plannedPurchaseAmount;

    /**
     * 实际采购金额
     */
    private String actualPurchaseAmount;

    /**
     * 下单采购金额
     */
    private String placeOrderPurchaseAmount;

    /**
     * 余料数量
     */
    private String remainingMaterialQuantity;
}
